<?php

/**
 * InterrupcionServicioForm
 *
 */
class InterrupcionServicioForm extends ReclamoPrimeraInstancia
{

  public function configureWidgets()
  {
    parent::configureWidgets();

    $this->widgetSchema->setLabel('es_primera_instancia', '¿Cumplió 1° instancia?');
    $this->validatorSchema->setPostValidator(
      new sfValidatorCallback(array('callback' => array($this, 'validarPendiente')))
    );
    $this->setWidget('medio_de_reclamo', new sfWidgetFormChoice(array('choices'=>array('----'=>'----','Telefónico'=>'Telefónico','Personal'=>'Personal', 'Correo Electrónico'=>'Correo Electrónico', 'Correo Postal'=>'Correo Postal', 'Libro de Quejas'=>'Libro de Quejas'))));
    $this->setValidator('medio_de_reclamo', new sfValidatorChoice(array('choices'=>array('----'=>'----','Telefónico'=>'Telefónico','Personal'=>'Personal', 'Correo Electrónico'=>'Correo Electrónico', 'Correo Postal'=>'Correo Postal', 'Libro de Quejas'=>'Libro de Quejas'),'required'=>false)));
    $this->getWidget('medio_de_reclamo')->setOption('renderer_class', 'mbWidgetFormChosenChoice');

    $this->setWidget('resultado', new sfWidgetFormChoice(array('choices'=>array('----'=>'----','Con respuesta'=> 'Con respuesta','Sin respuesta'=> 'Sin respuesta'))));
    $this->setValidator('resultado', new sfValidatorChoice(array('choices'=>array('----'=>'----','Con respuesta'=> 'Con respuesta','Sin respuesta'=> 'Sin respuesta'),'required'=>false)));
    $this->getWidget('resultado')->setOption('renderer_class', 'mbWidgetFormChosenChoice');
  }

  public function unsetFields()
  {
    $this->useFields(array("tipo_atencion_id",
      "sf_guard_user_id",
      "asunto_id",
      "distribuidor_id",
      "cliente_id",
      "ingresar_usuario_de_forma_manual",
      "condicion_del_reclamante",
      "nombre_reclamante",
      "nis_reclamante",
      "telefono_reclamante",
      "email_reclamante",
      "horario_contacto",
      "descripcion",
      "es_primera_instancia",
      "nro_reclamo_primera_instancia",
      "resultado",
      "fecha_realizacion_reclamo",
      "medio_de_reclamo",
      "fecha_interrupcion_servicio",
      "horario_interrupcion_servicio",
      "fecha_restitucion_servicio",
      "hora_restitucion_servicio",
      "estado",
      "observacion"
    ));

  }

  protected function doSave($con = null)
  {
    $this->getObject()->generarNroReclamo();
    $this->getObject()->setEs0800(true);
    parent::doSave($con);

  }

}

